前言
最近在学习使用Hive(版本0.13.1)的过程中,发现了一些坑,它们或许是Hive提倡的比关系数据库更加自由的体现(同时引来一些问题),或许是一些bug。总而言之,这些都需要使用Hive的开发人员额外注意。本文旨在列举我发现的3个通过查询语句向表中插入数据过程中的问题,希望大家注意。
数据准备
为了验证接下来出现的问题,需要先准备两张表employees和staged_employees,并准备好测试数据。首先使用以下语句创建表employees:
create table employees (
id int comment 'id',
name string comment 'name')
partitioned by (country string, state string)
row format delimited fields terminated by ',';
employees的结构比较简单,有id、name、country、state四个字段,其中country和state都是分区字段。特别需要提醒的是这里显示的给行格式指定了字段分隔符为逗号,因为默认的字段分隔符\001不便于笔者准备数据。然后创建表staged_employees:
|